package com.bai.localshop.service;

import com.bai.localshop.pojo.dto.UserPageQueryDTO;
import com.bai.localshop.pojo.dto.UserSaveDTO;
import com.bai.localshop.pojo.dto.UserUpdateDTO;
import com.bai.localshop.pojo.entity.User;
import com.bai.localshop.pojo.vo.UserPageVO;
import com.bai.localshop.pojo.vo.UserDetailsVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserService extends IService<User> {


    /**
     * 分页查询用户信息
     * @param requestParam
     * @return
     */
    IPage<UserPageVO> pageQuery(UserPageQueryDTO requestParam);

    /**
     * 根据id查询用户信息
     */
    UserDetailsVO selectGetById(Long id);

    /**
     * 新增用户
     * @param userSaveDTO
     */
    void save(UserSaveDTO userSaveDTO);

    /**
     * 根据id修改用户
     * @param requestParam
     * @return
     */
    void updateGetById(UserUpdateDTO requestParam);

    /**
     * 根据id删除用户
     * @param id
     */
    void deleteById(Long id);

    /**
     * 修改商品状态
     * @param id
     * @param status
     */
    void updateStatus(Long id, Integer status);

    /**
     * 重置用户密码（管理端）
     * @param id 用户ID
     */
    void resetPassword(Long id);
}
